﻿namespace RecruitmentAgency.Models.DataTypes
{
    ///<summary>
    /// The RecruitmentAgency.Models.Cv.DataTypes.RegisterJobProvider contains personal used for the registration of JobProviders
    ///</summary>
    public class RegisterJobProvider
    {
        /// <summary>
        /// Gets or sets the name of the company of the JobProvider that is registering
        /// </summary>
        public string CompanyName { get; set; }

        /// <summary>
        /// Gets or sets the registration number of the company of the JobProvider that is registering
        /// </summary>
        public string RegistrationNumber { get; set; }

        /// <summary>
        /// Gets or sets the first line of the address of the company of the JobProvider that is registering
        /// </summary>
        public string AddressLine1 { get; set; }

        /// <summary>
        /// Gets or sets the second line of the address of the company of the JobProvider that is registering
        /// </summary>
        public string AddressLine2 { get; set; }

        /// <summary>
        /// Gets or sets the town of the company of the JobProvider that is registering
        /// </summary>
        public string Town { get; set; }

        /// <summary>
        /// Gets or sets the post code of the company of the JobProvider that is registering
        /// </summary>
        public string PostCode { get; set; }

        /// <summary>
        /// Gets or sets the website URL of the company of the JobProvider that is registering
        /// </summary>
        public string WebsiteUrl { get; set; }

        /// <summary>
        /// Gets or sets the title of the JobProvider that is registering
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// Gets or sets the first name of the JobProvider that is registering
        /// </summary>
        public string FirstName { get; set; }

        /// <summary>
        /// Gets or sets the last name of the JobProvider that is registering
        /// </summary>      
        public string LastName { get; set; }

        /// <summary>
        /// Gets or sets the work e-mail address of the JobProvider that is registering
        /// </summary>
        public string Email { get; set; }

        /// <summary>
        /// Gets or sets the username of the JobProvider that is registering
        /// </summary>
        public string JobProviderUserName { get; set; }

        /// <summary>
        /// Gets or sets the password of the JobProvider that is registering
        /// </summary>
        public string JobProviderPassword { get; set; }

        /// <summary>
        /// Gets or sets the encrypted password of the JobProvider that is registering
        /// </summary>
        public byte[] EncryptedPassword { get; set; }

        /// <summary>
        /// Gets or sets the salt key of the JobProvider that is registering
        /// </summary>
        public byte[] Salt { get; set; }

        /// <summary>
        /// Gets or sets the confirmation password of the JobProvider that is registering
        /// </summary>
        public string JobProviderConfirmPassword { get; set; }

        /// <summary>
        /// Gets a Boolean value that determines whether the RecruitmentAgency.Models.Cv.DataTypes.JobProvider is to be considered to be null
        /// </summary>
        public bool IsNull
        {
            get
            {
                return CompanyName == null && RegistrationNumber == null && AddressLine1 == null && AddressLine2 == null && Town == null && PostCode == null && WebsiteUrl == null && Title == null && FirstName == null && LastName == null && Email == null && JobProviderUserName == null && JobProviderPassword == null && JobProviderConfirmPassword == null;
            }
        }
    }
}